package com.mycase.im.boot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mycase.im.boot.entity.database.ImFriendRequest;
import org.hibernate.validator.constraints.Range;

import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * @Author ZhuHJay
 * @Date 2021/8/17 15:39
 */
public interface FriendRequestService extends IService<ImFriendRequest> {

    /**
     * 保存 好友申请
     * @param imFriendRequest 好友申请表
     */
    void saveApply(ImFriendRequest imFriendRequest);

    /**
     * 获取自己的发起的好友申请
     * @param reqId 自己为发起人
     * @return 列表
     */
    List<ImFriendRequest> getMyApply(String reqId);

    /**
     * 获取别人对自己发起的好友申请
     * @param respId 自己为接收人
     * @return 列表
     */
    List<ImFriendRequest> getOtherApply(String respId);

    /**
     * 答复申请
     * @param tId 好友申请主键
     * @param status 申请状态
     */
    void replyApply(Integer tId, Integer status);

    /**
     * 获取最近的一条申请信息
     * @param fromId 发送者
     * @param toId 接受者
     * @return 申请信息对象
     */
    ImFriendRequest getLastApplyById(String fromId, String toId);
}
